Type-Safe Linguistic Run-time Reflection - A Practical Perspective
نویسندگان
چکیده
Reflection is a property of application development systems which permits programs to change their own behaviour. Linguistic reflection is a variety in which this is carried out by extending the program with extra modules which are created, compiled and linked in by the program itself. With run-time reflection this happens during the running of the program. Typically this occurs by including commands in the program to create the new module as a string and then call either the compiler or interpreter for the language to create an executable form. When combined with persistence, the executable code can then be stored for reuse. However, writing programs which exploit reflection can be a daunting task, since keeping track of multiple representations of a program can involve copious amounts of intricate string manipulation. This paper sets out to analyse some of the issues which make for difficulty, to outline some support tools which have been created and then to discuss the possibilities of an underlying language-independent theory for reflection.
منابع مشابه
Persistent Programming with Strongly Typed Linguistic Reflection
The technique of linguistic reflection is of particular interest in persistent systems because it can allow longlived data and programs to evolve in a type-safe manner. Existing reflective languages are hard to use because programs contain a mixture of several different kinds of code, with respect to their role in reflection. In some systems this problem is compounded by the presence of a high ...
متن کاملFeature-Oriented Programming with Object Algebras
Object algebras are a new programming technique that enables a simple solution to basic extensibility and modularity issues in programming languages. While object algebras excel at defining modular features, the composition mechanisms for object algebras (and features) are still cumbersome and limited in expressiveness. In this paper we leverage two well-studied type system features, intersecti...
متن کاملType Safe Metadata Combining
Type safety is an important property of any type system. Modern programming languages support different mechanisms to work in type safe manner, e.g., properties, methods, events, attributes (annotations) and other structures. Some programming languages allow access to metadata: type information, type member information and information about applied attributes. But none of the existing mainstrea...
متن کاملTeacher’s Reflection and Its Components as Predictors of EFL Teacher’s Sense of Classroom Management
Through a descriptive Ex Post Facto research design, the relationship between teacher reflection and classroom management, the predictive power of teacher reflection components regarding classroom management, and classroom management strategies used by high and low reflective teachers were examined. To this end, 113 EFL teachers completed the Attitudes and Beliefs on Classroom Control (ABCC) In...
متن کاملUsing reflection for querying XML documents
XML-based databases have become a major area of interest in database research. Abstractly speaking they can be considered as a resurrection of complexvalue databases using constructors for records, lists, unions plus optionality and references. XQuery has become the standard query language for XML. In this paper an implementation of XQuery based on linguistic reflection is proposed. That is, XQ...
متن کامل